Architecture of RemoteText
¬

RemoteText is based on a new architecture called Server-Master/clone clients.It means that the model is originally based on the known client-server model, but with nice migration facilities.

Let me introduce you to the concept.

The Server is intended to maintain a bunch of clients as well as managing transactions in order to keep versions synchronized.  
On the other end, client need to access an external entity to get  a file, to request a lock or to valid and update a modification. Thus if the server wants to maintain all the information necessary to process  these events, it will get overloaded due to the fact that each new client or each new file modification generate a new outcoming message (to the server). The problem is that one way or another the server must synchronise (i.e.serialize) commands.

RemoteText lets any new client opening a new (i.e. not yet opened by another at that time) file becoming a Master, or more precisely a file-Master.

Thus if other clients want to acces the file owned by a Master, they will try to connect to the Master instead of clients... ! :) These clients are called clones.

This also means that because we can get as many Master as client, the server shouldn't be overloaded with incoming messages.

However what happens when a Master quit, or close the file if clones (i.e clients that work on the same file) exist ?

Yeahhh that's  good question !

Well ...another Clone become the Master while keeping all the info maintained by the previous Master ! This is Distribution ! :-)

In fact the clone that will become Master (and so it will loose its clone status) will be the first client that requested the file to be open just after the Master did. (clone are ordered).

The moral of the story is that the Server is _a lot_ relieved with communications matters. That's why RemoteText is called a Distributed App.

¬

This application is a little module of a much more important workon Cooperative tools, HyperText generation, parsing, building and browsing documents of any kind (well text and image is a good start !).

This work is part of my thesis researches, i am presently doing at the University of ParisVIII, Saint-Denis, FRANCE.

You can join me at:	 phil@cnam.cnam.fr